﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using GO_Test_1.Components;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Graphics;

namespace GO_Test_1 {

	public static class ComponentManager {

		public static List<Guid> IDs { get; set; }
		public static IDictionary<Guid, GoType> Types { get; set; } // Could be replaced with objects holding data about the species, container type, etc. that all share.
		public static IDictionary<Guid, Vector2> Positions { get; set; }
		public static IDictionary<Guid, Movement> Movements { get; set; }
		public static IDictionary<Guid, Rectangle> BoundingBoxes { get; set; }
		public static IDictionary<Guid, Appearance> Appearances { get; set; }

		static ComponentManager() {
			IDs = new List<Guid>();
			Types = new Dictionary<Guid, GoType>();
			Positions = new Dictionary<Guid, Vector2>();
			Movements = new Dictionary<Guid, Movement>();
			BoundingBoxes = new Dictionary<Guid, Rectangle>();
			Appearances = new Dictionary<Guid, Appearance>();
		}

		public static void RemoveEntity(Guid id) {
			IDs.Remove(id);
			Types.Remove(id);
			Positions.Remove(id);
			Movements.Remove(id);
			BoundingBoxes.Remove(id);
			Appearances.Remove(id);
		}

	}

}